package edu.yctc.origin.dao;

import org.apache.ibatis.annotations.Mapper;

import edu.yctc.origin.entity.UserDO;

/**
 * userDAO接口
 * 
 * @author 赵宜珺
 */
@Mapper
public interface UserDAO {

    /**
     * 插入
     * 
     * @param userDO
     */
    public void insert(UserDO userDO);

    /**
     * 通过id返回userDO
     * 
     * @param id
     * @return
     */
    public UserDO getUserDOById(long id);

    /**
     * 通过number和password返回userDO
     * 
     * @param number
     * @param password
     * @return
     */
    public UserDO getUserDOByNumberAndPassword(String number, String password);

    /**
     * 通过mail和password返回userDO
     * 
     * @param mail
     * @param password
     * @return
     */
    public UserDO getUserDOByMailAndPassword(String mail, String password);

    /**
     * 更新
     * 
     * @param userDO
     */
    public void update(UserDO userDO);

    /**
     * 删除
     * 
     * @param id
     */
    public void deleteById(long id);

    /**
     * 邮箱查找用户
     *
     * @param mail
     * @return
     */
    public UserDO getUserDOByMail(String mail);
}
